package com.sf.osms.dep.processor.exception;

import java.text.MessageFormat;

public class RouterException extends Exception{

	private static final long serialVersionUID = 20141103L;
	private String exceptionCode;
	private Object[] params;
	private String msg;
	
	public String getExceptionCode() {
		return exceptionCode;
	}

	public void setExceptionCode(String exceptionCode) {
		this.exceptionCode = exceptionCode;
	}
	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
	public Object[] getParams() {
		return params;
	}

	public void setParams(Object[] params) {
		this.params = params;
	}
	
	
    public RouterException(String msg)  
    {  
        super(msg);  
        this.msg = msg;
    }  
    
    public RouterException(String exceptionCode, String msg)  
    {  
        super(msg);  
        this.msg = msg;
        this.exceptionCode = exceptionCode;
    }  
    
    public RouterException(Object[] params, String msg)  
    {  
    	super(msg);  
    	this.params = params;
    	this.msg = msg;
    } 
    
    public String toString(){
    	StringBuilder sb = new StringBuilder();
    	sb.append("Exception Code:").append(exceptionCode);
    	sb.append(" Exception Desc:");
    	if(params!=null){
    		MessageFormat  mf = new MessageFormat(msg);
    		sb.append(mf.format(params));
    	}else{
    		sb.append(msg);
    	}
    	return sb.toString();
    }

	
}
